﻿using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BankSimulation
{   
    //银行类
    internal class Bank
    {
        //----------字段----------
        List<Account> accounts = new List<Account>();

        //----------方法----------
        //新建账户，返回这个账户
        public Account CreatAccount(string id, string pwd, double money)
        {
            //新建一个账户
            Account account = new Account(id, pwd, money);
            //将账户添加到链表后
            accounts.Add(account);
            //返回这个新建立的链表
            return account;
        }

        //删除账户
        public bool DelateAccount(Account account)
        {
            //如果删除成功，返回true，否则返回false
            return accounts.Remove(account);
        }

        //查找账户，输入id和密码返回账户对象
        public Account GetAccount(string id, string pwd)
        {
            foreach(Account account in accounts)
            {
                if (account.IsExist(id, pwd))
                {   
                    //如果找到了账户，则返回账户对象
                    return account;
                }
            }
            //没有找到
            return null;
        }
        
        //通过输入id查看账户是否存在
        public bool AccountIsExist(string id)
        {
            foreach(Account account in accounts)
            {
                if (account.Id == id)
                {
                    return true;
                }
            }
            return false;
        }

    }
}
